/** 
 * PANEL CONFIGURAR PERSONAL
 */

var idPersonalEliminada = -1;
var idPersonalEditada = -1;

function loadCP() {
    var loadcpdialogs = $("#panelSuperior");
    loadcpdialogs.load("ui/html/accounting/cp/dialogAgregarPersonal.html", function() {
        $("#dialog-registrar-datos-personal-ie").hide();
        $("#dialog-registrar-datos-personal-ie").dialog({
            resizable: false,
            modal: true,
            autoOpen: false,
            closeOnEscape: false,
            show: 'scale',
            hide: 'explode',
            width: 620,
            buttons: {
                "CANCELAR": function() {
                    $(this).dialog("close");
                },
                "GUARDAR": function() {
                    guardarPersonal();
                }
            }
        });

        $("#tipoTrabajador_cp").bind("click keydown keyup", function() {
            var valor = $(this).val();
            if (valor === 'p') {
                $("#filadni_rdpi").hide();
                //$("#filacodigotrab_rdpi").hide();
                $("#fila_nombres_rdpi").show();
                $("#fila_apellido_p_rdpi").show();
                $("#fila_apellido_m_rdpi").show();
                $("#filaSexo_rdpi").hide();
                $("#filadireccion_rdpi").hide();
                $("#filaruc_rdpi").show();
                $("#filarazon_rdpi").show();
                $("#filadomiciliof_rdpi").show();
            } else if (valor === 'e' || valor === 'a') {
                $("#filadni_rdpi").show();
                //$("#filacodigotrab_rdpi").show();
                $("#fila_nombres_rdpi").show();
                $("#fila_apellido_p_rdpi").show();
                $("#fila_apellido_m_rdpi").show();
                $("#filaSexo_rdpi").show();
                $("#filadireccion_rdpi").show();
                $("#filaruc_rdpi").hide();
                $("#filarazon_rdpi").hide();
                $("#filadomiciliof_rdpi").hide();
            }
        });

        //autocomplete padre
        /*$("#txtCodigoPadre_acp").autocomplete({
         source: "data/get_cuentascontablesPadres.json?node=" + _GET_CUENTAS_PADRE + "&mod=CONTA&seccion=" + $("#Padre_acc").html(),
         minLength: 1,
         select: function(event, ui) {
         if (ui.item) {
         idPadre = ui.item.id;
         } else {
         idPadre = -1;
         }
         }
         });*/
    });

    loadcpdialogs.load("ui/html/accounting/cp/dialogEliminarPersonal.html", function() {
        $("#dialog-eliminar-persona-contabilidad").hide();
        $("#dialog-eliminar-persona-contabilidad").dialog({
            resizable: false,
            modal: true,
            autoOpen: false,
            closeOnEscape: false,
            show: "scale",
            hide: 'explode',
            width: 570,
            buttons: {
                "SI": function() {
                    eliminarPersonal();
                },
                "NO": function() {
                    idPersonalEliminada = -1;
                    $(this).dialog("close");
                }
            }
        });
    });
    loadcpdialogs.load("ui/html/accounting/cp/dialogEditarPersonal.html", function() {
        $("#dialog-editar-datos-persona-ie").hide();
        $("#dialog-editar-datos-persona-ie").dialog({
            resizable: false,
            modal: true,
            autoOpen: false,
            closeOnEscape: false,
            show: "scale",
            hide: 'explode',
            width: 620,
            buttons: {
                "CANCELAR": function() {
                    $(this).dialog("close");
                    idPersonalEditada = -1;
                    //limpiarComponentesCuentaContable();
                },
                "GUARDAR": function() {
                    guardarEdicionPersonal();
                }
            }
        });

        $("#tipoTrabajador_edp").bind("click keydown keyup", function() {
            var valor = $(this).val();
            if (valor === 'p') {
                $("#filadni_edp").hide();
                //$("#filacodigotrab_rdpi").hide();
                $("#fila_nombres_edp").show();
                $("#fila_apellido_p_edp").show();
                $("#fila_apellido_m_edp").show();
                $("#filaSexo_edp").hide();
                $("#filadireccion_edp").hide();
                $("#filaruc_edp").show();
                $("#filarazon_edp").show();
                $("#filadomiciliof_edp").show();
            } else if (valor === 'e' || valor === 'a') {
                $("#filadni_edp").show();
                //$("#filacodigotrab_rdpi").show();
                $("#fila_nombres_edp").show();
                $("#fila_apellido_p_edp").show();
                $("#fila_apellido_m_edp").show();
                $("#filaSexo_edp").show();
                $("#filadireccion_edp").show();
                $("#filaruc_edp").hide();
                $("#filarazon_edp").hide();
                $("#filadomiciliof_edp").hide();
            }
        });
    });
}

function eventoLoadPanelCP() {
    load = new ajaxLoader();
    fverificaLogin();
    loadConfigDialogsSystem();
    loadCP();
    var cuerpo = $("#body-aristo");
    cuerpo.empty().load("ui/html/accounting/cp/panelConfigPersonal.html", function() {
        var $grilla_cp = $("#grilla_cp");
        $grilla_cp.datagrid(configDG_pcp);

        var panelcp = $("#panel-configurar-personal-contabilidad");

        $("#btnBuscar_cp").button().click(buscarPersonales);
        $("#btnAgregar_cp").button().click(agregarPersonal);
        $("#btnCancelar_cp").button().click(salirPersonal);

        panelcp.effect('slide', 500, buscarPersonales);

        if (load)
            load.remove();
    });

    return false;
}

//evento de boton salir
function salirPersonal() {
    var panelccp = $("#panel-configurar-personal-contabilidad");
    panelccp.effect('drop', 500);
    return false;
}

//evento de boton buscar
function buscarPersonales() {
    load = new ajaxLoader();
    var json = new Object();
    json.mod = 'CONTA';
    json.node = _GET_PERSONALES;
    json.term = $("#txtBuscar_cp").val();
    $.ajax({
        data: json,
        type: "GET",
        dataType: "json",
        url: URI_ARISTO,
        success: function(datas) {
            if (datas.estado !== "SUCCESS") {
                mensajeAristo("error.png", datas.descripcion);
            }
            
            var $grilla_cp = $("#grilla_cp");
            $grilla_cp.datagrid({jsonStore: {data: {"rows": datas.data}}});
            
            if (load)
                load.remove();
        },
        error: ferror
    });
    return false;
}

//evento de boton agregar
function agregarPersonal() {
    $("#txtdni_rdpi").val("");
    $("#txtnombres_rdpi").val("");
    $("#txtapellido_p_rdpi").val("");
    $("#txtapellido_m_rdpi").val("");
    $("#txtdireccion_rdpi").val("");
    $("#txtruc_rdpi").val("");
    $("#txtrazonsocial_rdpi").val("");
    $("#txtdomiciliofiscal_rdpi").val("");
    $("#txtcorreo_rdpi").val("");
    
    $("#tipoTrabajador_cp").click();    
    $("#dialog-registrar-datos-personal-ie").dialog("open");
    return false;
}

//evento de boton salir
function salirPersonal() {
    var panelcp = $("#panel-configurar-personal-contabilidad");
    panelcp.effect('drop', 500);
    return false;
}

/*********************** JSON *************************************************/
function editarFila_cp(ID) {
    idPersonalEditada = ID;

    var json = new Object();
    json.mod = 'CONTA';
    json.node = _GET_PERSONAL;
    json.id = ID;
    load = new ajaxLoader();
    $.ajax({
        data: json,
        type: "POST",
        dataType: "json",
        url: URI_ARISTO,
        success: resultEditarFilaCP,
        error: ferror
    });
}

function resultEditarFilaCP(data) {
    if (data !== null) {
        if (data.estado === "SUCCESS") {
            data = data.data;
            var tipo = "";
            switch (data.tipo) {
                case "PROVEEDOR":
                    tipo = "p";
                    break;
                case "EMPLEADO":
                    tipo = "e";
                    break;
                case "ADMINISTRATIVO":
                    tipo = "a";
                    break;
            }
            $("#tipoTrabajador_edp").val(tipo);
            $("#txtdni_edp").val(data.dni);
            $("#txtnombres_edp").val(data.nombres);
            $("#txtapellido_p_edp").val(data.apellidop);
            $("#txtapellido_m_edp").val(data.apellidom);
            $("#txtsexo_edp").val(data.sexo);
            $("#txtdireccion_edp").val(data.direccion);
            $("#txtcorreo_edp").val(data.correo);
            $("#txtruc_edp").val(data.ruc);
            $("#txtrazonsocial_edp").val(data.razonsocial);
            $("#txtdomiciliofiscal_edp").val(data.direccion);

            $("#tipoTrabajador_edp").click();
            $("#dialog-editar-datos-persona-ie").dialog("open");
        } else {
            mensajeAristo('error.png', data.descripcion);
        }
    } else {
        mensajeAristo('error.png', 'Error. Verificar conexión de internet');
    }

    if (load)
        load.remove();
}

//....
function guardarPersonal() {
    var tipoTrabajador = $("#tipoTrabajador_cp").val();
    var dni = $("#txtdni_rdpi").val();
    //var codigo = $("#txtcodigotrab_rdpi").val();
    var nombres = $("#txtnombres_rdpi").val();
    var apellidop = $("#txtapellido_p_rdpi").val();
    var apellidom = $("#txtapellido_m_rdpi").val();
    var sexo = $("#txtsexo_rdpi").val();
    var direccion = $("#txtdireccion_rdpi").val();
    var ruc = $("#txtruc_rdpi").val();
    var razonsocial = $("#txtrazonsocial_rdpi").val();
    var domiciliofiscal = $("#txtdomiciliofiscal_rdpi").val();
    var correo = $("#txtcorreo_rdpi").val();

    var enable_datos = true;

    if (tipoTrabajador === 'p') {
        enable_datos = (nombres.length > 0 && apellidop.length > 0 && apellidom.length > 0 && ruc.length > 0 && razonsocial.length > 0 && domiciliofiscal.length > 0) ? true : false;
    } else if (tipoTrabajador === 'e' || tipoTrabajador === 'a') {
        enable_datos = (dni.length > 0 && nombres.length > 0 && apellidop.length > 0 && apellidom.length > 0) ? true : false;
    }

    if (enable_datos) {
        load = new ajaxLoader();
        var json = new Object();
        json.mod = 'CONTA';
        json.node = _POST_PERSONAL;
        json.tipo = tipoTrabajador;
        json.dni = dni;
        //json.codigo = codigo;
        json.nombres = nombres;
        json.apellidop = apellidop;
        json.apellidom = apellidom;
        json.sexo = sexo;
        json.direccion = direccion;
        json.ruc = ruc;
        json.razon = razonsocial;
        json.domiciliof = domiciliofiscal;
        json.correo = correo;

        $.ajax({
            data: json,
            type: "POST",
            dataType: "json",
            url: URI_ARISTO,
            success: resultGuardarPersonal,
            error: ferror
        });
    } else {
        mensajeAristo("warning.png", "Ingrese todos los campos");
    }
}

function resultGuardarPersonal(data) {
    if (data !== null) {
        if (data.estado === "SUCCESS") {
            data = data.data;
            //limpiarComponentesCuentaContable();
            $("#dialog-registrar-datos-personal-ie").dialog("close");
            mensajeAristo('ok.png', data.descripcion);
            buscarPersonales();
        } else {
            mensajeAristo('warning.png', data.descripcion);
        }
    } else {
        mensajeAristo('error.png', 'Error. Verificar conexi&oacute;n de internet');
    }
    if (load)
        load.remove();
}

function eliminarFila_cp(ID) {
    idPersonalEliminada = ID;
    $("#dialog-eliminar-persona-contabilidad").dialog("open");
}

function eliminarPersonal() {
    if (idPersonalEliminada !== -1) {
        //$("#rowPersona_" + idCuentaEliminada).remove(); //elimina del tabla html
        load = new ajaxLoader();
        var json = new Object(); //json eliminar de la base de datos
        json.mod = 'CONTA';
        json.node = _DELETE_PERSONAL;
        json.id = idPersonalEliminada;
        json.tipo = tipo_CP;

        $.ajax({
            data: json,
            type: "POST",
            dataType: "json",
            url: URI_ARISTO,
            success: resultadoeliminarPersonal,
            error: ferror
        });
    }
}

function resultadoeliminarPersonal(data) {
    if (data !== null) {
        if (data.estado === 'SUCCESS') {
            data = data.data;
            //$("#rowCuentaCP_" + idCuentaEliminada).remove();
            $("#dialog-eliminar-persona-contabilidad").dialog("close");
            mensajeAristo('ok.png', data.descripcion);
            buscarPersonales();
        } else {
            $("#dialog-eliminar-persona-contabilidad").dialog("close");
            mensajeAristo('error.png', data.descripcion);
        }
    } else {
        mensajeAristo('error.png', 'Error. Verificar conexión de internet');
    }
    if (load)
        load.remove();
}

/****************************************************/

function guardarEdicionPersonal() {
    if (idPersonalEditada !== -1) {
        var json = new Object();
        json.mod = 'CONTA';
        json.node = _PUT_PERSONAL;
        json.id = idPersonalEditada;
        json.tipotrabajador = $("#tipoTrabajador_edp").val();
        json.dni = $("#txtdni_edp").val();
        json.nombres = $("#txtnombres_edp").val();
        json.apellidop = $("#txtapellido_p_edp").val();
        json.apellidom = $("#txtapellido_m_edp").val();
        json.sexo = $("#txtsexo_edp").val();
        json.direccion = $("#txtdireccion_edp").val();
        json.ruc = $("#txtruc_edp").val();
        json.razonsocial = $("#txtrazonsocial_edp").val();
        json.domiciliofiscal = $("#txtdomiciliofiscal_edp").val();
        json.correo = $("#txtcorreo_edp").val();

        var enable_datos = true;

        if (json.tipotrabajador === 'p') {
            enable_datos = (json.nombres.length > 0 && json.apellidop.length > 0 && json.apellidom.length > 0 && json.ruc.length > 0 && json.razonsocial.length > 0 && json.domiciliofiscal.length > 0) ? true : false;
        } else if (json.tipotrabajador === 'e' || json.tipotrabajador === 'a') {
            enable_datos = (json.dni.length > 0 && json.nombres.length > 0 && json.apellidop.length > 0 && json.apellidom.length > 0) ? true : false;
        }

        if (enable_datos) {
            load = new ajaxLoader();
            $.ajax({
                data: json,
                type: "POST",
                dataType: "json",
                url: URI_ARISTO,
                success: resultadoguardarEdicionPersonal,
                error: ferror
            });
        } else {
            mensajeAristo('error.png', 'Ingrese todos los campos');
        }
    }
}

function resultadoguardarEdicionPersonal(data) {
    //console.log(data);
    if (data !== null) {
        if (data.estado === 'SUCCESS') {
            data = data.data;
            $("#dialog-editar-datos-persona-ie").dialog("close");
            mensajeAristo('ok.png', data.descripcion);
            buscarPersonales();
        } else {
            $("#dialog-editar-datos-persona-ie").dialog("close");
            mensajeAristo('error.png', data.descripcion);
        }
    } else {
        mensajeAristo('error.png', 'Error. Verificar conexión de internet');
    }
    if (load)
        load.remove();
}